﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using System.Data.OleDb;
using DTO;
using DAO;
using BUS;

namespace QL_xxx
{
    /// <summary>
    /// Interaction logic for ThemPhong.xaml
    /// </summary>
    public partial class ThemPhong : Window
    {
        private List<LoaiPhongDTO> listLoaiPhong = null;
        public event OnThemPhongThanhCong onThemPhongThanhCong;
        public ThemPhong()
        {
            InitializeComponent();
        }

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            listLoaiPhong = LoaiPhongBUS.LayDSLoaiPhong();
            LoadComboboxLoaiPhong(listLoaiPhong);

            errorTen.Foreground = Brushes.Red;
            errorTen.Text = "Bạn phải điền tên phòng vào đây.";
            btnLuu.IsEnabled = false;
        }

        private void LoadComboboxLoaiPhong(List<LoaiPhongDTO> listLoaiPhong)
        {
            if (listLoaiPhong != null && listLoaiPhong.Count > 0)
            {
                for (int i = 0; i < listLoaiPhong.Count; i++)
                {
                    cbxLoaiPhong.Items.Add(listLoaiPhong[i].TenLoaiPhong);
                }
                cbxLoaiPhong.SelectedIndex = 0;
            }
        }

        private void errorTeb_TextChanged(object sender, TextChangedEventArgs e)
        {
            if (string.Compare(errorTen.Text, "OK") == 0)
                btnLuu.IsEnabled = true;
            else
                btnLuu.IsEnabled = false;
        }

        private void txtTenPhong_TextChanged(object sender, TextChangedEventArgs e)
        {
            if (txtTenPhong.Text.Trim().Length == 0)
            {
                errorTen.Foreground = Brushes.Red;
                errorTen.Text = "Bạn phải điền tên phòng vào đây.";
            }
            else
            {
                errorTen.Foreground = Brushes.Green;
                errorTen.Text = "OK";
            }
        }

        private void btnHuy_Click(object sender, RoutedEventArgs e)
        {
            if (MessageBoxResult.Yes == MessageBox.Show("Bạn có chắc muốn thoát giao diện thêm!", "Thông báo.", MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.No))
                this.Close();
        }

        private void btnLuu_Click(object sender, RoutedEventArgs e)
        {
            if (cbxLoaiPhong.Items.Count == 0)
            {
                MessageBox.Show("Bạn chưa thêm loại phòng vào danh sách, vui lòng thêm!");
                return;
            }
            PhongDTO phong = new PhongDTO();
            phong.TenPhong = txtTenPhong.Text;
            phong.MaLoaiPhong = LoaiPhongBUS.LayDSLoaiPhong(-1, cbxLoaiPhong.SelectedItem.ToString())[0].MaLoaiPhong;
            int kq = PhongBUS.ThemPhong(phong);
            switch (kq)
            {
                case PhongBUS.trungTenPhong:
                    {
                        MessageBox.Show("Tên phòng này đã tồn tại, hãy nhập tên khác", "Lỗi", MessageBoxButton.OK, MessageBoxImage.Error);
                        break;
                    }
                case PhongBUS.themPhongLoi:
                    {
                        MessageBox.Show("Lỗi chưa xác định, vui lòng liên hệ nhà cung cấp.", "Lỗi", MessageBoxButton.OK, MessageBoxImage.Error);
                        break;
                    }
                case PhongBUS.vuotQuaSoPhong:
                    {
                        MessageBox.Show("Số phòng đạt giới hạn, không thể thêm nữa.", "Lỗi", MessageBoxButton.OK, MessageBoxImage.Error);
                        break;
                    }
                case PhongBUS.themPhongOK:
                    {
                        MessageBox.Show("Đã thêm.", "Thêm thành công", MessageBoxButton.OK, MessageBoxImage.Information);
                        txtTenPhong.Clear();
                        
                        onThemPhongThanhCong();
                        break;
                    }
            }
        }

       
    }
}
